home *** CD-ROM | disk | FTP | other *** search
/ Monster Media 1996 #15 / Monster Media Number 15 (Monster Media)(July 1996).ISO / pcboard / read100.zip / BOOK.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-05-23  |  4KB  |  270 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.3O (Encryption type II) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     String   STRING001
  23.     String   TSTRING002(10)
  24.     String   STRING003
  25.     String   TSTRING004(10)
  26.     Declare  Procedure PROC001(Var String STRING005, Integer INTEGER004)
  27.  
  28. ;------------------------------------------------------------------------------
  29.  
  30.     If (Exist(PPEPath() + "DATA\")) Goto LABEL001
  31.     Color 15
  32.     SPrintLn "Creating phone book data directory: " + PPEPath() + "DATA"
  33.     MkDir PPEPath() + "DATA"
  34.     Delay 5
  35.     :LABEL001
  36.     StartDisp 1
  37.     DispFile PPEPath() + "BOOK", 4
  38.     STRING001 = PPEPath() + "DATA\" + Strip(Left(U_Name(), 4) + Right(U_Name(), 4), " ")
  39.     If (Exist(STRING001)) Then
  40.         INTEGER001 = 1
  41.         FOpen 1, STRING001, 0, 0
  42.         :LABEL002
  43.         If (Ferr(1)) Goto LABEL003
  44.         FGet 1, TSTRING002(INTEGER001)
  45.         INTEGER001 = INTEGER001 + 1
  46.         Goto LABEL002
  47.         :LABEL003
  48.         FClose 1
  49.         For INTEGER001 = 1 To 10
  50.             STRING003 = Trim(TSTRING002(INTEGER001), " ")
  51.             If (STRING003 == "") Then
  52.                 INTEGER002 = INTEGER001 - 1
  53.                 Break
  54.             Endif
  55.             If (INTEGER001 < 6) Then
  56.                 AnsiPos 13, INTEGER001 + 12
  57.                 Goto LABEL004
  58.             Endif
  59.             AnsiPos 49, INTEGER001 + 7
  60.             :LABEL004
  61.             Print STRING003
  62.         Next
  63.     Endif
  64.     :LABEL005
  65.     AnsiPos 49, 21
  66.     Print "@X08·"
  67.     Backup 1
  68.     STRING003 = ""
  69.     PROC001(STRING003, 1)
  70.     Select Case (STRING003)
  71.         Case "A"
  72.             INTEGER001 = 1
  73.         Case "B"
  74.             INTEGER001 = 2
  75.         Case "C"
  76.             INTEGER001 = 3
  77.         Case "D"
  78.             INTEGER001 = 4
  79.         Case "E"
  80.             INTEGER001 = 5
  81.         Case "F"
  82.             INTEGER001 = 6
  83.         Case "G"
  84.             INTEGER001 = 7
  85.         Case "H"
  86.             INTEGER001 = 8
  87.         Case "I"
  88.             INTEGER001 = 9
  89.         Case "J"
  90.             INTEGER001 = 10
  91.         Case "Q"
  92.             Goto LABEL006
  93.         Case Else
  94.             Goto LABEL005
  95.     End Select
  96.     If (INTEGER001 < 6) Then
  97.         AnsiPos 13, INTEGER001 + 12
  98.     Else
  99.         AnsiPos 49, INTEGER001 + 7
  100.     Endif
  101.     PROC001(TSTRING002(INTEGER001), 24)
  102.     If (Trim(TSTRING002(INTEGER001), " ") == "") Then
  103.         TSTRING002(INTEGER001) = ""
  104.     Else
  105.         INTEGER003 = U_RecNum(TSTRING002(INTEGER001))
  106.         If (INTEGER003 == -1) Then
  107.             STRING003 = "@X04(@X0F" + TSTRING002(INTEGER001) + "@X04)@X0C is not a user here!"
  108.             INTEGER003 = Len(StripAtx(STRING003))
  109.             AnsiPos (80 - INTEGER003) / 2, 23
  110.             Print STRING003
  111.             STRING003 = ""
  112.             PROC001(STRING003, 0)
  113.             Backup 79
  114.             ClrEol
  115.             TSTRING002(INTEGER001) = ""
  116.         Endif
  117.     Endif
  118.     For INTEGER001 = 1 To 10
  119.         TSTRING004(INTEGER001) = TSTRING002(INTEGER001)
  120.         TSTRING002(INTEGER001) = ""
  121.     Next
  122.     INTEGER002 = 1
  123.     For INTEGER001 = 1 To 10
  124.         If (Trim(TSTRING004(INTEGER001), " ") <> "") Then
  125.             TSTRING002(INTEGER002) = TSTRING004(INTEGER001)
  126.             INTEGER002 = INTEGER002 + 1
  127.         Endif
  128.     Next
  129.     INTEGER002 = INTEGER002 - 1
  130.     For INTEGER001 = 1 To 10
  131.         If (INTEGER001 < 6) Then
  132.             AnsiPos 13, INTEGER001 + 12
  133.         Else
  134.             AnsiPos 49, INTEGER001 + 7
  135.         Endif
  136.         Print "@X08························"
  137.         If (INTEGER001 < 6) Then
  138.             AnsiPos 13, INTEGER001 + 12
  139.         Else
  140.             AnsiPos 49, INTEGER001 + 7
  141.         Endif
  142.         Color 7
  143.         Print TSTRING002(INTEGER001)
  144.     Next
  145.     Goto LABEL005
  146.     :LABEL006
  147.     Delete STRING001
  148.     FOpen 1, STRING001, 1, 3
  149.     For INTEGER001 = 1 To INTEGER002
  150.         FPutLn 1, TSTRING002(INTEGER001)
  151.     Next
  152.     FClose 1
  153.     End
  154.  
  155. ;------------------------------------------------------------------------------
  156.  
  157.     Procedure PROC001(Var String STRING005, Integer INTEGER004)
  158.  
  159.     String   STRING006
  160.     Integer  INTEGER005
  161.  
  162.     INTEGER005 = Len(STRING005)
  163.     Forward INTEGER005
  164.     :LABEL007
  165.     STRING006 = Upper(Inkey())
  166.     If (STRING006 == Chr(13)) Goto LABEL008
  167.     If (STRING006 == Chr(29)) Goto LABEL007
  168.     If (STRING006 == Chr(8)) Then
  169.         If (INTEGER005 == 0) Goto LABEL007
  170.         INTEGER005 = INTEGER005 - 1
  171.         Backup 1
  172.         Print "@X08·"
  173.         Backup 1
  174.         STRING005 = Left(STRING005, INTEGER005)
  175.         Goto LABEL007
  176.     Endif
  177.     If (!(Len(STRING006) == 1)) Goto LABEL007
  178.     If (Asc(STRING006) < 31) Goto LABEL007
  179.     If (INTEGER005 == INTEGER004) Goto LABEL007
  180.     STRING005 = STRING005 + STRING006
  181.     INTEGER005 = INTEGER005 + 1
  182.     Print "@X08", STRING006
  183.     Backup 1
  184.     Delay 1
  185.     Print "@X07", STRING006
  186.     Backup 1
  187.     Delay 1
  188.     Print "@X0F", STRING006
  189.     Goto LABEL007
  190.     :LABEL008
  191.  
  192.     EndProc
  193.  
  194.  
  195. ;------------------------------------------------------------------------------
  196. ;
  197. ; Usage report (before postprocessing)
  198. ;
  199. ; ■ Statements used :
  200. ;
  201. ;    1       End
  202. ;    1       ClrEol
  203. ;    2       Color 
  204. ;    62      Goto 
  205. ;    44      Let 
  206. ;    9       Print 
  207. ;    34      If 
  208. ;    1       DispFile 
  209. ;    2       FOpen 
  210. ;    2       FClose 
  211. ;    1       FGet 
  212. ;    1       FPutLn 
  213. ;    1       StartDisp 
  214. ;    1       Delete 
  215. ;    3       Delay 
  216. ;    10      AnsiPos 
  217. ;    6       Backup 
  218. ;    1       Forward 
  219. ;    1       SPrintLn 
  220. ;    1       EndProc
  221. ;    1       MkDir 
  222. ;
  223. ;
  224. ; ■ Functions used :
  225. ;
  226. ;    1       -
  227. ;    1       /
  228. ;    27      +
  229. ;    4       -
  230. ;    20      ==
  231. ;    1       <>
  232. ;    10      <
  233. ;    5       <=
  234. ;    10      >=
  235. ;    29      !
  236. ;    10      &&
  237. ;    5       ||
  238. ;    3       Len(
  239. ;    1       Upper()
  240. ;    2       Left()
  241. ;    1       Right()
  242. ;    1       Ferr()
  243. ;    3       Chr()
  244. ;    1       Asc()
  245. ;    3       Trim()
  246. ;    2       U_Name()
  247. ;    1       StripAtx()
  248. ;    1       Strip()
  249. ;    1       Inkey()
  250. ;    5       PPEPath()
  251. ;    2       Exist()
  252. ;    1       U_RecNum()
  253. ;
  254. ;------------------------------------------------------------------------------
  255. ;
  256. ; Analysis flags : No flag
  257. ;
  258. ;------------------------------------------------------------------------------
  259. ;
  260. ; Postprocessing report
  261. ;
  262. ;    5       For/Next
  263. ;    0       While/EndWhile
  264. ;    10      If/Then or If/Then/Else
  265. ;    1       Select Case
  266. ;
  267. ;------------------------------------------------------------------------------
  268. ;                 AEGiS Corp - Break the routines, code against the machines!
  269. ;------------------------------------------------------------------------------
  270.